home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tiger Disk 33
/
Tiger_Disk_033_1996-12_Tiger-Crew-Disk_de_Side_B.d64
/
disk-manager 4.0
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
9KB
|
374 lines
21 o1=6501: m1=o1+1
22 o2=301 : m2=o2+1
25 dim di$(150),k(150)
26 dim si(4)
30 an=0
35 deffnh(x)=int(x/256)
36 deffnl(x)=x-256*fnh(x)
40 deffnm1(x)=x-(int(x/o1)*o1)+1
41 deffnm2(x)=x-(int(x/o2)*o2)+1
42 c1$=" [146][157]":c1=20
43 c2$=" [157]": c2=2*c1
44 re$=""
45 hk$=chr$(34)
46 nu$=chr$(0)
47 df$=" "
48 dl$=chr$(254)+chr$(255)
90 goto 1000
98 rem ---- "[200]ash-[198]unktion 1" ----
100 id=0
101 le=len(id$):ifle=0thenid=1:return
102 fori=1tole
110 a$=mid$(id$,i,1)
130 id=fnm1(id*26+asc(a$))
140 next
150 return
198 rem ---- "[200]ash-[198]unktion 2" ----
200 di=0
201 le=len(di$):ifle=0thendi=1:return
202 fori=1tole
210 a$=mid$(di$,i,1)
230 di=fnm2(di*26+asc(a$))
240 next
250 return
298 rem ---- "[208]rogrammfile lesen" ----
300 print#15,"p"chr$(2)chr$(fnl(id))chr$(fnh(id))chr$(1)
310 input#2,pr$
320 print#15,"p"chr$(2)chr$(fnl(id))chr$(fnh(id))chr$(18)
330 get#2,a1$,a2$,a3$,a4$,co$
340 di=asc(a1$+nu$)+256*asc(a2$+nu$)
345 ne=asc(a3$+nu$)+256*asc(a4$+nu$)
350 return
358 rem ---- "[196]iskfile lesen" ----
360 print#15,"p"chr$(2)chr$(fnl(di))chr$(fnh(di))chr$(1)
370 input#2,na$,in$
375 print#15,"p"chr$(2)chr$(fnl(di))chr$(fnh(di))chr$(25)
380 get#2,a1$,a2$,a3$,a4$
385 ne=asc(a1$+nu$)+256*asc(a2$+nu$)
387 fr=asc(a3$+nu$)+256*asc(a4$+nu$)
390 return
398 rem ---- "[208]rogfile schreiben" ----
400 print#15,"p"chr$(2)chr$(fnl(id))chr$(fnh(id))chr$(1)
410 print#2,id$
420 print#15,"p"chr$(2)chr$(fnl(id))chr$(fnh(id))chr$(18)
430 print#2,chr$(fnl(dn))chr$(fnh(dn))chr$(fnl(ko))chr$(fnh(ko))co$;
450 return
458 rem ---- "[196]iskfile schreiben" ----
460 print#15,"p"chr$(2)chr$(fnl(di))chr$(fnh(di))chr$(1)
470 print#2,di$","i$
475 print#15,"p"chr$(2)chr$(fnl(di))chr$(fnh(di))chr$(25)
480 print#2,chr$(fnl(ko))chr$(fnh(ko))chr$(fnl(fr))chr$(fnh(fr))
490 return
498 rem ---- "[211]peicherinfo lesen" ----
500 open5,8,5,"#":gosub700
510 print#15,"b-r:" 5;0;18;0
520 print#15,"b-p:" 5;200
525 for si=0 to 4
530 get#5,a1$,a2$:si(si)=asc(a1$+nu$)+256*asc(a2$+nu$):next
535 close5:return
548 rem--- "[211]peicherinfo schreiben" ---
550 open5,8,5,"#":gosub700
555 print#15,"b-r:" 5;0;18;0
560 print#15,"b-p:" 5;200
565 for si=0 to 4
570 print#5,chr$(fnl(si(si)))chr$(fnh(si(si)));:next
575 print#15,"b-w:" 5;0;18;0
580 close5:return
598 rem ---- "[201]rgendeine [212]aste" ----
600 print:print"[215]eiter mit einer [212]aste: ";:gosub800:print:print:return
698 rem ---- "[196]isk [197]rror" ----
700 input#15,ds,ds$,tr,se
710 if(ds=0)or(ds=50)or(ds=51)thenreturn
720 print:print"[196]isk [197]rror:"ds;ds$;tr;se
730 close2:close15
740 gosub600:goto1000
798 rem ---- "[212]astatureingabe" ----
800 c=0
810 gete$:c=c+1:ifc=c1thenprintc1$;
820 ifc=c2thenprintc2$;:c=0
830 ife$=""thengoto810
840 printc2$;:return
898 rem ---- "[212]itel" ----
900 print"[147][155]";:fori=1to40:print"[192]";:next
910 print:print" [196]isk [205]anager [214]4.0 / [212]iger-[196]isk-[214]ersion"
930 print:fori=1to40:print"[192]";:next
940 print:print:return
998 rem ---- "[200]auptmenue" ----
1000 poke53280,0:poke53281,0:gosub900
1010 print"< 1 > [208]rogramm suchen
1020 [153]"< 2 > str$irectory einlesen & speichern
1025 print"< 3 > [196]irectory listen
1026 [153]"< 4 > str$irectory loeschen
1027 print"< 5 > [208]rogramm loeschen
1028 [153]"< 6 > (NULL)peicherinfo
1029 print"< 7 > [206]eue [196]atendisk anlegen
1031 [153]"< 0 > valnde"
1040 [153]"right$hre (NULL)ahl? ";
1045 [141]800:w$[178]e$
1050 [139]w$[178]"0"[167][153]:[153]"(w) 1985 by (NULL)homas (NULL)merzu.":[128]
1060 [145] [197](w$)[137]1200,6000,2000,3000,9000,8000,4000
1070 [137]1000
1198 [143] ---- "(NULL)rogramm suchen" ----
1200 [141]900:fl[178]0
1210 [159]15,8,15:[159]2,8,2,"progfile,l":[141]700
1220 [133]"(NULL)rogrammname";id$:[141]100:
1225 [141]300
1230 [139]pr$[178]id$[167]1300
1240 [139]pr$[178][199](255)[167][153]"(NULL)rogramm nicht vorhanden.":[137]1400
1250 id[178]id[170]1:[139]id[177]o1[167]id[178]1
1260 [137]1225
1300 [160]2
1310 [159]2,8,2,"diskfile,l"
1320 [141]360:[139]fl[167]1350
1330 [153]:[153]"str$as (NULL)rogamm "hk$id$hk$
1335 fl[178][171]1
1340 [153]"ist gespeichert auf de";
1345 [139]co$[178]"+"[167][153]"n str$isketten":[137]1350
1347 [153]"r str$iskette"
1350 [153]""hk$;na$;hk$" "in$
1360 [139]co$[179][177]"+"[167]1400
1370 [161]a$:[139]a$[178]""[167][160]2:[159]2,8,2,"progfile,l":[137]1250
1380 [153]"break.
1400 close2:close15
1410 gosub600:goto1000
1998 rem ---- "[196]irectory listen" ----
2000 gosub900
2010 input"[196]iskname";di$
2020 di$=left$(di$+df$,16):gosub200
2030 open15,8,15:open2,8,2,"diskfile,l":gosub700
2040 gosub360:gosub700
2050 ifna$=di$then2100
2060 ifna$=chr$(255)then2090
2070 di=di+1:ifdi>o2thendi=1
2080 goto2040
2090 print"[196]irectory nicht gespeichert.":close2:close15:gosub600:goto1000
2100 print""hk$;di$;hk$" "in$
2110 close2
2120 open2,8,2,"progfile,l":gosub700
2130 ifne=0then2200
2135 geta$:ifa$<>""thenprint"break.":goto2210
2140 id=ne:gosub300
2150 print" "hk$;pr$;hk$
2160 ifpr$=chr$(255)thenne=0
2170 goto2130
2200 printfr"[194]locks free.
2210 [160]2:[160]15:[141]600:[137]1000
2998 [143] ---- "str$irectory loeschen" ----
3000 [141]900
3010 [133]"str$iskname";di$
3020 di$[178][200](di$[170]df$,16):[141]200
3030 [159]15,8,15
3033 [141]500
3035 [159]2,8,2,"diskfile,l":[141]700
3040 [141]360:[141]700
3050 [139]na$[178]di$[167]3100
3060 [139]na$[178][199](255)[167]3090
3070 di[178]di[170]1:[139]di[177]o2[167]di[178]1
3080 [137]3040
3090 [153]"str$irectory nicht gespeichert.":[160]2:[160]15:[141]600:[137]1000
3100 [153]""hk$;di$;hk$" "in$
3120 [153]"< 1 > str$irectory loeschen
3130 print"< 0 > [218]urueck zum [200]auptmenue
3140 [153]"right$hre (NULL)ahl? ";
3150 [141]800
3160 [139]e$[178]"0"[167][160]2:[160]15:[137]1000
3170 [139]e$[179][177]"1"[167]3150
3180 [141]900:[153]"str$irectory wird geloescht..."
3185 si(0)[178]si(0)[170]1:si(1)[178]si(1)[171]1
3190 di$[178]dl$:[141]460:[160]2
3200 [159]2,8,2,"progfile,l":[141]700
3210 [139]ne[178]0[167][160]2:[141]550:[160]15:[137]1000
3215 si(3)[178]si(3)[170]1:si(4)[178]si(4)[171]1
3220 id[178]ne:[141]300
3230 id$[178]dl$:[141]400:[141]700:[139]co$[178]"+"[167]3210
3240 fl[178]id:id$[178]pr$:[141]100:[139]id[178]fl[167]3210
3245 n2[178]ne
3250 i2[178]id:id[178]fl
3260 id[178]id[171]1:[139]i2[177]id[167]3210
3270 [141]300:[139]pr$[179][177]id$[167]3260
3280 dn[178]di:ko[178]ne:co$[178]"-":[141]400:[141]700
3290 ne[178]n2:[137]3210
3998 [143] ---- "(NULL)eue str$atendisk" ----
4000 [141]900
4010 [153]"(NULL)egen (NULL)ie eine leere str$iskette ins (NULL)auf- werk."
4020 [153]"< 1 > (NULL)eue str$atendisk anlegen
4030 print"< 0 > [218]urueck zum [200]auptmenue
4040 [153]"right$hre (NULL)ahl? ";
4050 [141]800
4060 [139]e$[178]"0"[167]1000
4070 [139]e$[179][177]"1"[167]4050
4080 [141]900
4090 [153]"str$iskette wird formatiert...
4100 open15,8,15,"n0:disk manager,to"
4110 gosub700
4120 print:print"[208]rogramm wird abgespeichert..."
4130 save"disk manager 4.0",8
4140 gosub700
4150 print:print"[196]atenfile 1 wird angelegt..."
4160 open2,8,2,"progfile,l,"+chr$(22)
4170 gosub700
4172 print#15,"p"chr$(2)chr$(fnl(m1))chr$(fnh(m1))chr$(1)
4174 gosub700
4176 print#2,"end"
4178 gosub700
4180 close2
4190 print:print"[196]atenfile 2 wird angelegt..."
4200 open2,8,2,"diskfile,l,"+chr$(32)
4210 gosub700
4212 print#15,"p"chr$(2)chr$(fnl(m2))chr$(fnh(m2))chr$(1)
4214 gosub700
4216 print#2,"end"
4220 close2
4225 print:print"[211]peicherinfo wird angelegt..."
4230 si(0)=o2:si(1)=0
4240 si(2)=o1:si(3)=0:si(4)=0
4250 gosub550
4260 close15:goto1000
5997 rem ---- "[196]irectory lesen" ----
6000 gosub900:co=0
6005 print"[196]irectory einlesen:
6006 [153]"peekitte legen (NULL)ie die str$iskette ins (NULL)auf- werk.
6007 gosub600
6008 print:print:print
6010 open15,8,15,"i
6020 [159]2,8,0,"$0":[141]700
6021 [153]"atnlle asciles speichern? ";:
6022 [141]800:[139]e$[178]"j"[167]al[178][171]1:[137]6029
6023 [139]e$[179][177]"n"[167]6022
6024 al[178]0
6029 [153]e$:[153]:[153]
6030 [129]i[178]1[164]8:[161]#2,b$:[130]:di$[178]""
6031 [129]i[178]1[164]16:[161]#2,b$:di$[178]di$[170]b$:[130]:[153]""hk$di$hk$;:[161]#2,b$:i1$[178]""
6033 [129]i[178]1[164]6:[161]#2,b$:i1$[178]i1$[170]b$:[130]:[153]i1$:[161]#2,b$
6035 [161]#2,b$,c$:[139]st[179][177]0[167]6200
6040 [161]#2,b$,c$
6050 d[178]0
6060 [139] b$[179][177]"" [167] d[178][198](b$)
6070 [139] c$[179][177]"" [167] d[178]d[170][198](c$)[172]256
6080 n$[178]"":hk[178]0
6090 [161]#2,c$:[139] st[179][177]0 [167] 6200
6093 [139]c$[178]hk$[167]hk[178][168](hk)
6095 [139]hk[167]n$[178]n$[170]c$
6100 [139]c$[179][177]""[167]6090
6101 di$(co)[178][202](n$,2)
6110 [139] [195](di$(co))[178]0 [167]6120
6111 [153]" "hk$di$(co)hk$:[139]al[167]6120
6112 [153]"on"re$"- (NULL)peichern? ";
6113 [141]800:[139]e$[179][177]"j"[175]e$[179][177]"n"[167]6113
6114 [153]:[153]"on"re$;
6115 [139]e$[178]"n"[167][153]"- (NULL)ein. ":[137]6130
6116 [153]"- mid$a. "
6120 co[178]co[170]1
6130 [139]st[178]0[167] [137]6035
6200 [160]2:[160]15
6205 [153]d"peeklocks free.
6210 :
6220 print"[194]itte legen [211]ie die [196][201][211][203] [205][193][206][193][199][197][210] - [196]iskette ins [204]aufwerk.
6230 [141]600
6240 [141]900
6250 [159]15,8,15,"i":[141]500
6255 [139] si(0)[177]1 [175] si(2)[177]co [167] 6260
6257 [153]"(NULL)peicherung nicht moeglich."
6258 [153]"(NULL)peicherplatz erschoepft."
6259 [160]15:[141]600:[137]1000
6260 [159]2,8,2,"diskfile,l":[141]700
6270 [141]200
7024 [153]"str$aten werden gespeichert...":ml[178]48
7025 [141]360
7030 [139]na$[178]di$[167]di$[178][200](di$,14):ml[178]ml[170]1:di$[178]di$[170]"/"[170][199](ml):[137]7025
7040 [139]na$[178][199](255)[167]7200
7050 di[178]di[170]1:[139]di[177]o2[167]di[178]1
7060 [137]7025
7200 [139]ml[179][177]48[167][153]"atnlenleft$(NULL)(NULL)(NULL)chr$!: str$isk-(NULL)ame geaendert inwait":[153][163]12)" "di$"wait !"
7205 i$[178]i1$:ko[178]0:[141]460:[141]700
7210 [160]2
7211 si(0)[178]si(0)[171]1:si(1)[178]si(1)[170]1
7215 dn[178]di:[139]co[179][178]1[167]7620
7220 [159]2,8,2,"progfile,l":[141]700
7230 [129]i1[178]co[171]2[164]0[169][171]1
7320 id$[178]di$(i1):[153]hk$id$hk$:[141]100
7325 [141]300
7330 [139]pr$[178][199](255)[167]si(2)[178]si(2)[171]1:si(4)[178]si(4)[170]1:[137]7500
7340 [139]pr$[178]id$[167]7400
7345 [139]pr$[178]dl$[167]si(3)[178]si(3)[171]1:si(4)[178]si(4)[170]1:[137]7450
7350 id[178]id[170]1:[139]id[177]o1[167]id[178]1
7360 [137]7325
7400 [139]co$[178]"+"[167]7350
7405 n2[178]ko:d2[178]dn
7410 dn[178]di:ko[178]ne:co$[178]"+":[141]400:[141]700
7420 ko[178]n2:dn[178]d2:mi[178][171]1:[137]7350
7450 [139]mi[167]7500
7460 ix[178]id
7465 id[178]id[170]1:[139]id[177]o1[167]id[178]1
7466 [141]300
7470 [139]pr$[178][199](255)[167]id[178]ix:[137]7500
7480 [139]pr$[179][177]id$[167]7465
7490 co$[178]"+":id[178]ix:[137]7510
7500 co$[178]"-"
7510 [141]400:[141]700
7520 ko[178]id:mi[178]0
7600 [130]
7610 [160]2
7620 [159]2,8,2,"diskfile,l
7630 i$=i1$:di=dn:fr=d:gosub460:gosub700
7700 close2:gosub550:close15:gosub600:goto1000
7998 rem ---- "[211]peicherinfo" ----
8000 gosub900
8010 open15,8,15,"i":gosub700
8020 print"[211]peicherinformationen:"
8030 gosub500
8040 print," frei geloescht belegt":print
8050 print"[196]isketten: ";
8051 printright$(" "+str$(si(0)),4)" - ";
8052 printright$(" "+str$(si(1)),4)
8060 print"[208]rogramme: ";
8061 printright$(" "+str$(si(2)),4)" ";
8062 printright$(" "+str$(si(3)),4)" ";
8063 printright$(" "+str$(si(4)),4)
8100 close15:gosub600:goto1000
8998 rem --- "[198]ile loeschen" ---
9000 gosub900
9010 open15,8,15:gosub500:open2,8,2,"progfile,l":gosub700
9020 input"[208]rogrammname";id$:gosub100:
9025 gosub300
9030 ifpr$=id$then9100
9040 ifpr$<>chr$(255)then9050
9045 print"[208]rogramm nicht vorhanden.":close2:close15:goto1000
9050 id=id+1:ifid>o1thenid=1
9060 goto9025
9100 close2
9110 open2,8,2,"diskfile,l"
9120 gosub360:dd=ne:d3=di:gosub900
9130 print"[208]rogamm "hk$id$hk$
9135 close2
9140 print"[196]iskette "hk$na$hk$" "in$
9150 print:print"< 1 > [204]oeschen
9160 [139]co$[178]"+"[167][153]"< 2 > atnnderes (NULL)rogramm loeschen
9170 print"< 0 > [218]urueck zum [200]auptmenue
9180 [153]"right$hre (NULL)ahl? ";
9190 [141]800
9200 [139]e$[178]"0"[167][160]15:[137]1000
9210 [139]e$[178]"1"[167]9300
9220 [139]e$[179][177]"2"[167]9190
9230 [139]co$[179][177]"+"[167]9190
9240 [159]2,8,2,"progfile,l":[137]9050
9300 si(3)[178]si(3)[170]1:si(4)[178]si(4)[171]1
9310 [159]2,8,2,"progfile,l"
9320 [141]300:n2[178]ne:i2[178]id
9330 id$[178]dl$:[141]400:[141]700:[139]co$[178]"+"[167]9400
9340 id$[178]pr$:[141]100:[139]id[178]i2[167]9400
9350 fl[178]id:id[178]i2
9360 id[178]id[171]1:[139]fl[177]id[167]9400
9370 [141]300:[139]pr$[179][177]id$[167]9360
9380 dn[178]di:ko[178]ne:co$[178]"-":[141]400:[141]700
9400 [139] dd[179][177]i2 [167]9500
9410 [160]2:[159]2,8,2,"diskfile,l":[141]700
9420 di[178]d3:[141]360
9430 di$[178]na$:i$[178]in$:ko[178]n2:[141]460:[141]700
9440 [137]9600
9500 id[178]dd:[141]300
9520 [139]ne[179][177]i2[167]id[178]ne:[141]300:[137]9520
9530 dn[178]d3:ko[178]n2:id$[178]pr$:[141]400:[141]700
9600 [160]2:[141]550:[160]15:[153]:[153]"(NULL)rogramm geloescht"
9610 [141]600:[137]1000